package main

import "fmt"

func main() {
	var a [3]int
	a[1] = 1
	a[2] = 2

	fmt.Println(a[0], a[1], a[len(a)-1])

	// 赋初始值
	// 数组长度为3，但这里只给了两个初始值所以打印出的数据后面有个空格
	name := [3]string{"zhangsan", "lisi"}
	fmt.Println(name)

	// 不指定长度，根据数据多少来确定数组长度
	// 可以看到这里的打印的结果中没有空格了,数组的长度是2
	name2 := [...]string{"zhangsan", "lisi"}
	fmt.Println(name2, len(name2))

	// 指定位置赋值
	// 定义一个没有指定长度的 string 类型的数组 name3，并在数组下标为 3 的地方赋值 codeniu，程序推断出数组长度为 4
	name3 := [...]string{3: "codeniu"}
	fmt.Println("first index:", name3[0])
	fmt.Println("last index:", name3[len(name3)-1])
	fmt.Println(name3, len(name3))
}
